Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Класи. Бінарні дерева

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра СКС

Інформація про роботу

Рік:
2012
Тип роботи:
Курсова робота
Предмет:
Програмування частина 4 Технологія системного програмування

Частина тексту файла

Міністерство освіти і науки, молоді та спорту України Національний університет «Львівська політехніка» Інститут дистанційного навчання Кафедра СКС  КУРСОВА РОБОТА з дисципліни «Програмування» на тему «Класи. Бінарні дерева» Варіант № 23 Завдання на курсову роботу: Провести огляд класів, доступу до полів та методів класу, статичних членів класу, реалізації механізмів успадкування та поліморфізму в С++, доступу до базових класів, друзів класу, шаблонів класів, перевантаження операторів для класів, а також бінарних дерев, що широко застосовуються у програмуванні. Розглянути їх властивості і практичне значення. Згенерувати три масиви з випадковими елементами типу Integer довжиною 100, 1000 та 10000 елементів, відповідно. Відсортувати одержані масиви за збільшенням елементів, визначивши при цьому такі параметри: кількість порівнянь; кількість обмінів; фактичний час роботи, необхідні кожній з програм (простий та один з довершених методів), щоби відсортувати кожен з трьох масивів. ЗМІСТ 1. Динамічний розподіл пам’яті…………………………………………... 4  2. Доступ до полів та методів класу. Статичні члени класу……………. 5  3. Реалізація механізмів успадкування та поліморфізму в С++. Доступ до базових класів………………………………………………………..  7  4. Друзі класу………………………………………………………………. 10  5. Шаблони класів…………………………………………………………. 12  6. Перевантаження операторів для класів………………………………... 14  7. Бінарні дерева…………………………………………………………… 15  8. Практична реалізація простих методів сортування………………….. 22  Висновки………………………………………………………………………. 29  Список використаної літератури…………………………………………….. 30   1. ДИНАМІЧНИЙ РОЗПОДІЛ ПАМ’ЯТІ Для більш ефективного використання пам’яті часто доводиться розроблювати класи, в яких розмір об’єкту залежить від даних, що в ньому зберігаються. В таких структурах часто об’єм потрібної пам’яті стає відомим лише безпосередньо перед ініціалізацією конкретного об’єкта даного класу. Це призводить до необхідності динамічного керування пам’яттю. Для цих цілей в С++ передбачено два оператори new та delete. Оператор new дозволяє виділити пам’ять об’єкту, оператор delete дозволяє звільнити пам’ять Динамічний розподіл пам’яті вимагає використання покажчиків. Розглянемо приклади. Динамічне виділення пам’яті під одновимірний масив float* y; y=new float [5]; Очищення пам’яті, виділеної динамічно під одновимірний масив delete y; Динамічне виділення пам’яті під двовимірний масив float** y; y=new float* [5]; for(i=0;i<5;i++) {y[i]= new float[5] }; Очищення пам’яті, виділеної динамічно під двовимірний масив for(i=0;i<5;i++) {delete y[i] }; delete y; Зрозуміло, що оператор new використовується в конструкторі, а оператор delete в деструкторі. Розглянемо приклад. Нехай нам потрібен клас одновимірний вектор, розмір якого визначається у момент ініціалізації. Такий клас повинен мати конструктор з параметром, що вказує на розмір вектора та конструктор за замовчуванням, щоб не виникали аварійні ситуації при ініціалізації без параметрів. Будемо вважати, що за замовчуванням наш вектор буде тривимірним. Щоб не ускладнювати приклад в описі класу покажемо лише конструктори та деструктори, а інші необхідні методи не показуватимемо. class MyVector { private: float *v; int size; public: MyVector(){size=3; v= new float[size];}; //конструктор за замовчуванням MyVector(int a) {size= a; v= new float[size];}; //конструктор з параметром ~MyVector(){delete[] v;};//деструктор ... }; 2. ДОСТУП ДО ПОЛІВ ТА МЕТОДІВ КЛАСУ. СТАТИЧНІ ЧЛЕНИ КЛАСУ Доступ до відкритих полів та методів класу здійснюється прямим зверненням, з використанням операторів прямого і непрямого вибору, як в структурах і об'єднаннях. Оператор прямого вибору – це точка „.”. Оператор непрямого вибору – це спеціальний символ, що складається з мінуса та знаку більше „->”. Оператор прямого вибору використовується тоді, коли доступ до об’єкту класу у рограмі виконується безпосередньо. Оператор непрямого (опосередкованого) вибору використовується, коли доступ до об’...
Антиботан аватар за замовчуванням

21.11.2013 11:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини